↳ ITRS
↳ ITRStoIDPProof
z
f(TRUE, x) → f(&&(>@z(x, y), >=@z(x, 0@z)), y)
f(TRUE, x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
f(TRUE, x) → f(&&(>@z(x, y), >=@z(x, 0@z)), y)
(0) -> (0), if ((y[0] →* x[0]a)∧(&&(>@z(x[0], y[0]), >=@z(x[0], 0@z)) →* TRUE))
f(TRUE, x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (0), if ((y[0] →* x[0]a)∧(&&(>@z(x[0], y[0]), >=@z(x[0], 0@z)) →* TRUE))
f(TRUE, x0)
(1) (y[0]=x[0]1∧&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z))=TRUE∧&&(>@z(x[0], y[0]), >=@z(x[0], 0@z))=TRUE∧y[0]1=x[0]2 ⇒ F(TRUE, x[0]1)≥NonInfC∧F(TRUE, x[0]1)≥F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)∧(UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥))
(2) (>@z(y[0], y[0]1)=TRUE∧>=@z(y[0], 0@z)=TRUE∧>@z(x[0], y[0])=TRUE∧>=@z(x[0], 0@z)=TRUE ⇒ F(TRUE, y[0])≥NonInfC∧F(TRUE, y[0])≥F(&&(>@z(y[0], y[0]1), >=@z(y[0], 0@z)), y[0]1)∧(UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥))
(3) (-1 + y[0] + (-1)y[0]1 ≥ 0∧y[0] ≥ 0∧x[0] + -1 + (-1)y[0] ≥ 0∧x[0] ≥ 0 ⇒ (UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥)∧(-1)Bound + y[0] ≥ 0∧-1 + y[0] + (-1)y[0]1 ≥ 0)
(4) (-1 + y[0] + (-1)y[0]1 ≥ 0∧y[0] ≥ 0∧x[0] + -1 + (-1)y[0] ≥ 0∧x[0] ≥ 0 ⇒ (UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥)∧(-1)Bound + y[0] ≥ 0∧-1 + y[0] + (-1)y[0]1 ≥ 0)
(5) (y[0] ≥ 0∧x[0] ≥ 0∧x[0] + -1 + (-1)y[0] ≥ 0∧-1 + y[0] + (-1)y[0]1 ≥ 0 ⇒ -1 + y[0] + (-1)y[0]1 ≥ 0∧(UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥)∧(-1)Bound + y[0] ≥ 0)
(6) (y[0] ≥ 0∧x[0] ≥ 0∧x[0] + -1 + (-1)y[0] ≥ 0∧-1 + y[0] + (-1)y[0]1 ≥ 0∧y[0]1 ≥ 0 ⇒ -1 + y[0] + (-1)y[0]1 ≥ 0∧(UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥)∧(-1)Bound + y[0] ≥ 0)
(7) (y[0] ≥ 0∧x[0] ≥ 0∧x[0] + -1 + (-1)y[0] ≥ 0∧-1 + y[0] + y[0]1 ≥ 0∧y[0]1 ≥ 0 ⇒ -1 + y[0] + y[0]1 ≥ 0∧(UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥)∧(-1)Bound + y[0] ≥ 0)
(8) (1 + y[0]1 + y[0] ≥ 0∧x[0] ≥ 0∧x[0] + -2 + (-1)y[0]1 + (-1)y[0] ≥ 0∧y[0] ≥ 0∧y[0]1 ≥ 0 ⇒ y[0] ≥ 0∧(UIncreasing(F(&&(>@z(x[0]1, y[0]1), >=@z(x[0]1, 0@z)), y[0]1)), ≥)∧1 + (-1)Bound + y[0]1 + y[0] ≥ 0)
POL(>=@z(x1, x2)) = -1
POL(0@z) = 0
POL(TRUE) = -1
POL(&&(x1, x2)) = -1
POL(FALSE) = -1
POL(F(x1, x2)) = -1 + x2 + (-1)x1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
F(TRUE, x[0]) → F(&&(>@z(x[0], y[0]), >=@z(x[0], 0@z)), y[0])
F(TRUE, x[0]) → F(&&(>@z(x[0], y[0]), >=@z(x[0], 0@z)), y[0])
&&(FALSE, FALSE)1 ↔ FALSE1
&&(TRUE, TRUE)1 ↔ TRUE1
&&(TRUE, FALSE)1 ↔ FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
f(TRUE, x0)